#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
//#include <string.h>
//int my_strlen(char* arr) {
//	int sz = 0;
//	while (*arr)
//	{
//		sz++;
//		arr++;
//	}
//	return sz;
//}
//int main()
//{
//	char arr[] = "abcdefg";
//	printf("%d", my_strlen(arr));
//}



//int main()
//{
//	int killer;
//	for (killer = 'a'; killer <= 'd'; killer++)
//	{
//		if ((killer != 'a') + (killer == 'c') + (killer == 'd') + (killer != 'd') == 3)
//			printf("%c", killer);
//	}
//}




//int panduan(int* p) {
//	int p1[6] = {0};
//	for (int i = 0; i < 5; i++)
//	{
//		if (p1[p[i]])
//			return 0;
//		p1[p[i]] = 1;
//	}
//	return 1;
//}
//int main()
//{
//	int p[5];
//	for(p[0] = 1; p[0] <= 5; p[0]++)
//		for (p[1] = 1; p[1] <= 5; p[1]++)
//			for (p[2] = 1; p[2] <= 5; p[2]++)
//				for (p[3] = 1; p[3] <= 5; p[3]++)
//					for (p[4] = 1; p[4] <= 5; p[4]++)
//					{
//						if ((p[1] == 2) + (p[0] == 3) == 1 && (p[1] == 2) + (p[4] == 4) == 1 && (p[2] == 1) + (p[3] == 2) == 1 && (p[2] == 5) + (p[3] == 3) == 1 && (p[4] == 4) + (p[0] == 1) == 1 && panduan(p))
//						{
//							for (int i = 0; i < 5; i++)
//								printf("%d ", p[i]);
//						}
//					}
//}





int main()
{
	int a[50][50], n;
	scanf("%d", &n);
	for (int i = 0; i < n; i++)
	{
		int j;
		for (j = 1; j <= i; j++)
		{
			a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
		}
		a[i][0] = 1;
		a[i][j - 1] = 1;
	}
	for (int i = 0; i < n; i++)
	{
		for (int j = 0; j <= i; j++)
		{
			printf("%4d", a[i][j]);
		}
		printf("\n");
	}
}